Customise palettes and shapes according to the data structure.
rm(list = ls(all = TRUE))
source('01_f-ctions.R')Data files structure: 1st column is SampleName (link to phenodata), followed by measured variables
Path to data: ../input/
fp = file.path('..', 'input')
list.files(fp, pattern = '.txt$')## [1] "data_hormonomics.txt" "data_metabolomics.txt" "data_qPCR.txt"
Path to Phenodata: ../../../
fp = file.path('..', '..', '..')
list.files(fp, pattern = '.txt$')## [1] "phenodata_20221001.txt"
There may be multiple phenodata versions (see pISA-tree INSTRUCTIONS.pdf
In this caste, SampleName is created as: Treatment_Day_PlantNoNo
fn = 'phenodata_20221001.txt'
pheno = data.table::fread(file.path(fp, fn), header = TRUE)
data.table::setDF(pheno)
pheno = pheno[, grep('^SampleName$|^Treatment$|^SamplingDay$|^PlantNo$', colnames(pheno))]
head(pheno)## SampleName Treatment SamplingDay PlantNo
## 1 C_S1_10 C 1 10
## 2 C_S1_7 C 1 7
## 3 C_S1_8 C 1 8
## 4 C_S1_9 C 1 9
## 5 C_S7_11 C 7 11
## 6 C_S7_12 C 7 12
tail(pheno)## SampleName Treatment SamplingDay PlantNo
## 27 H_S8_17 H 8 17
## 28 H_S8_18 H 8 18
## 29 H_S14_19 H 14 19
## 30 H_S14_20 H 14 20
## 31 H_S14_21 H 14 21
## 32 H_S14_22 H 14 22
table(pheno$Treatment, pheno$SamplingDay)##
## 1 7 8 14
## C 4 4 4 4
## H 4 4 4 4
Each condition has 4 replicates
tissue = 'Leaves'
o.l. = 'Hormonomics'fpi = file.path('..', 'input')
fn = 'data_hormonomics.txt'
horm = data.table::fread(file.path(fpi, fn), header = TRUE)
data.table::setDF(horm)
horm = merge(pheno,
horm,
by = 'SampleName',
all.x = FALSE,
all.y = TRUE)
horm = horm[, -grep('SampleName', colnames(horm))]
horm$SamplingDay = as.numeric(horm$SamplingDay)
horm$Treatment = factor(horm$Treatment)
horm = horm[order(horm$Treatment, horm$SamplingDay, horm$PlantNo), ]
horm.long = reshape2::melt(horm[, -c(grep('PlantNo', colnames(horm)))], id.vars=c("Treatment", "SamplingDay"))
horm.long$SamplingDay = as.numeric(horm.long$SamplingDay)
keep2 = grep('PlantNo|Treatment|SamplingDay', colnames(horm), invert = TRUE)myplot.ggplot(df = horm.long, x = horm.long$Treatment, y = horm.long$value,
ncol = ceiling(length(levels(horm.long$variable))/2),
scales.y = "free_y",
title = stringr::str_c(o.l.,
'\n',
stringr::str_c(unique(horm.long$Treatment), collapse=', '),
collapse='' ),
xlab = 'Treatment',
ylab = 'value',
palette = my.ggplot.palette)graphs = horm.long %>%
dplyr::group_by(variable) %>%
rstatix::doo(
~ggpubr::ggdotplot(
data =.,
x = "SamplingDay",
y = "value",
fill = "Treatment",
palette = my.ggplot.palette,
legend = "none",
add = c("jitter", "mean_sd"),
position = position_jitter(0.05),
ggtheme = ggpubr::theme_pubr(),
facet.by = c("Treatment")
)
, result = "plots"
)
variable = levels(graphs$variable)
plots = graphs$plots %>% set_names(variable)
for(var in variable){
graph.i = plots[[var]] +
labs(title = var)
print(graph.i)
} subset = horm
mymat = subset[, keep2]
time.levels = sort(as.numeric(unique(subset$SamplingDay)))
stress.levels = levels(subset$Treatment)
k = 3
NMDS.plots = my.NMDS(mymat = mymat,
subset = subset,
stress.levels = stress.levels,
time.levels = time.levels,
title = o.l.,
k = k) # dimensions
if (k == 3){
cowplot::plot_grid(NMDS.plots[[1]], NMDS.plots[[2]], NMDS.plots[[3]],
NMDS.plots[[4]], NMDS.plots[[5]], NMDS.plots[[6]],
ncol=3, nrow = 2)
} else {
cowplot::plot_grid(NMDS.plots[[1]])
}subset = horm[horm$SamplingDay %in% time.levels[c(1, 4)], ]
mymat = subset[, keep2]
time.levels = sort(as.numeric(unique(subset$SamplingDay)))
stress.levels = levels(subset$Treatment)
k = 3
NMDS.plots = my.NMDS(mymat = mymat,
subset = subset,
stress.levels = stress.levels,
time.levels = time.levels,
title = o.l.,
k = k) # dimensions
if (k == 3){
cowplot::plot_grid(NMDS.plots[[1]], NMDS.plots[[2]], NMDS.plots[[3]],
NMDS.plots[[4]], NMDS.plots[[5]], NMDS.plots[[6]],
ncol=3, nrow = 2)
} else {
cowplot::plot_grid(NMDS.plots[[1]])
}subset = horm[horm$Treatment %in% stress.levels[2], ]
mymat = subset[, keep2]
time.levels = sort(as.numeric(unique(subset$SamplingDay)))
stress.levels = levels(subset$Treatment)
k = 2
NMDS.plots = my.NMDS(mymat = mymat,
subset = subset,
stress.levels = stress.levels,
time.levels = time.levels,
title = o.l.,
k = k) # dimensions
if (k == 3){
cowplot::plot_grid(NMDS.plots[[1]], NMDS.plots[[2]], NMDS.plots[[3]],
NMDS.plots[[4]], NMDS.plots[[5]], NMDS.plots[[6]],
ncol=3, nrow = 2)
} else {
cowplot::plot_grid(NMDS.plots[[1]])
}par(mfrow = c(2,2))
my.cor.plot(mymat = as.matrix(horm[, keep2]),
main = paste(o.l., '(all tp)'),
col = rev(my.heatmap.col1),
order = 'original',
type = 'pearson',
choose = 1)## A visualization of a correlation matrix
my.cor.plot(mymat = as.matrix(horm[, keep2]),
main = paste(o.l., '(all tp)'),
col = rev(my.heatmap.col2),
order = 'original',
type = 'pearson',
choose = 1)## A visualization of a correlation matrix
my.cor.plot(mymat = as.matrix(horm[, keep2]),
main = paste(o.l., '(all tp)'),
col = rev(my.heatmap.col1),
order = 'hclust',
type = 'pearson',
choose = 2)## A visualization of a correlation matrix
my.cor.plot(mymat = as.matrix(horm[, keep2]),
main = paste(o.l., '(all tp)'),
col = rev(my.heatmap.col2),
order = 'hclust',
type = 'pearson',
choose = 2)## A visualization of a correlation matrix
par(mfrow = c(1,1))
my.pairs.panels(df = as.matrix(horm[, keep2]),
method = "pearson",
palette = my.ggplot.palette,
scale = FALSE,
main = paste(o.l., '(all tp)'),
cex.labels = 1.5,
cex = 1)## SPLOM, histograms and correlations for a data matrix
Here we have one Control and one Stress level - adapt as needed
print(stress.levels)## [1] "C" "H"
Ctrl = as.matrix(horm[horm$Treatment == stress.levels[1], keep2])
Stress = as.matrix(horm[horm$Treatment == stress.levels[2], keep2])
par(mfrow=c(2,2))
my.cor.plot(mymat = Ctrl,
main = 'pearson cor (all tp)\nCtrl',
col = rev(my.heatmap.col1),
order = 'original',
type = 'pearson',
choose = 1)## A visualization of a correlation matrix
my.cor.plot(mymat = Stress,
main = 'pearson cor (all tp)\nStress',
col = rev(my.heatmap.col1),
order = 'original',
type = 'pearson',
choose = 1)## A visualization of a correlation matrix
my.cor.plot(mymat = Ctrl,
main = 'pearson cor (all tp)\nCtrl',
col = rev(my.heatmap.col2),
order = 'original',
type = 'pearson',
choose = 1)## A visualization of a correlation matrix
my.cor.plot(mymat = Stress,
main = 'pearson cor (all tp)\nStress',
col = rev(my.heatmap.col2),
order = 'original',
type = 'pearson',
choose = 1)## A visualization of a correlation matrix
par(mfrow=c(1,1))
par(mfrow=c(2,2))
palCS = rainbow(length(time.levels))[as.numeric(as.factor(horm[horm$Treatment == stress.levels[1], 2]))]
pie(rep(1, length(time.levels)),
col = unique(palCS),
labels = unique(horm[horm$Treatment == stress.levels[1], 2]),
main = paste(stress.levels, collapse = ' '))
par(mfrow=c(1,1))my.pairs.panels(df = Ctrl,
method = "pearson",
palette = palCS,
scale = FALSE,
main = paste(o.l., 'Ctrl (all tp)'),
cex.labels = 1.5,
cex = 1)## SPLOM, histograms and correlations for a data matrix
my.pairs.panels(df = Stress,
method = "pearson",
palette = palCS,
scale = FALSE,
main = paste(o.l., 'Stress (all tp)'),
cex.labels = 1.5,
cex = 1)## SPLOM, histograms and correlations for a data matrix
Ctrl = (horm[(horm$Treatment == stress.levels[1]) &
(horm$SamplingDay %in% time.levels[c(1, 4)]), 1:ncol(horm)])
Stress = (horm[(horm$Treatment == stress.levels[2]) &
(horm$SamplingDay %in% time.levels[c(1, 4)]), 1:ncol(horm)])
Ctrl[Ctrl$SamplingDay != 1,]$SamplingDay = 2
Stress[Stress$SamplingDay != 1,]$SamplingDay = 2my.c.list = list (cor(Ctrl[, keep2], use = 'na.or.complete'),
cor(Stress[, keep2], use = 'na.or.complete'))
names(my.c.list) = c('Ctrl', 'Stress')
comb = RcppAlgos::comboGrid(1:length(my.c.list), 1:length(my.c.list), repetition = FALSE)
for (i in 1:nrow(comb)){
cat('blue'(names(my.c.list)[comb[i,1]], names(my.c.list)[comb[i,2]], '\n'))
a = my.c.list[[comb[i,1]]]
b = my.c.list[[comb[i,2]]]
plot = my.pheatmap(df = a,
main = names(my.c.list)[comb[i,1]],
col = rev(my.heatmap.col1),
breaks = setdiff(seq(-1, 1, 0.1), 0),
silent = TRUE)
myplots = list(plot[[4]])
plot = my.pheatmap(df = a,
main = names(my.c.list)[comb[i,1]],
col = rev(my.heatmap.col2),
breaks = setdiff(seq(-1, 1, 0.1), 0),
silent = TRUE)
myplots[[2]] = (plot[[4]])
plot = my.pheatmap(df = b,
main = names(my.c.list)[comb[i,2]],
col = rev(my.heatmap.col1),
breaks = setdiff(seq(-1, 1, 0.1), 0),
silent = TRUE)
myplots[[3]] = (plot[[4]])
plot = my.pheatmap(df = b,
main = names(my.c.list)[comb[i,2]],
col = rev(my.heatmap.col2),
breaks = setdiff(seq(-1, 1, 0.1), 0),
silent = TRUE)
myplots[[4]] = (plot[[4]])
diff = abs(a - b)
plot = my.pheatmap(df = diff,
col = rev(my.dist.col),
main = paste0('Diffrence ',
names(my.c.list)[comb[i,1]], ' - ',
names(my.c.list)[comb[i,2]]),
breaks = seq(0, 2, 0.2),
silent = TRUE)
myplots[[5]] = (plot[[4]])
plot = my.pheatmap(df = diff,
col = rev(my.dist.col2),
main = paste0('Diffrence ',
names(my.c.list)[comb[i,1]], ' - ',
names(my.c.list)[comb[i,2]]),
breaks = seq(0, 2, 0.2),
silent = TRUE)
myplots[[6]] = (plot[[4]])
gridExtra::grid.arrange(gridExtra::arrangeGrob(myplots[[1]], myplots[[3]], myplots[[5]], ncol=3),
gridExtra::arrangeGrob(myplots[[2]], myplots[[4]], myplots[[6]], ncol=3),
nrow = 2)
}## Ctrl Stress
data = rbind(Ctrl, Stress)
tmp = c(rep('Ctrl', nrow(Ctrl)),
rep('Stress', nrow(Stress)))
data$Treatment = tmp
data$Treatment = paste(data$Treatment, data$SamplingDay, sep = '_')
cat(blue('Time defined: 1\n'))## Time defined: 1
data.1 = data[data$SamplingDay == 1, ]
data.1.1 = data.1[data.1$Treatment %in% c('Ctrl_1', 'Stress_1'), ]
stat.test.1.1 = my.customised.t.test(data = data.1.1[, -grep('PlantNo|SamplingDay', colnames(data.1.1))],
var.levels = colnames(data.1.1[, keep2]),
stress.levels = unique(data.1.1$Treatment),
plot.violin = FALSE,
plot.box = FALSE,
plot.dot = TRUE,
single = TRUE,
y.lab = o.l.,
p.cex.labels = 1,
p.cex = 0.5,
p.palette = my.ggplot.palette)cat(blue('Time defined: 2\n'))## Time defined: 2
data.2 = data[data$SamplingDay == 2, ]
data.2.1 = data.2[data.2$Treatment %in% c('Ctrl_2', 'Stress_2'), ]
stat.test.2.1 = my.customised.t.test(data = data.2.1[, -grep('PlantNo|SamplingDay', colnames(data.2.1))],
var.levels = colnames(data.2.1[, keep2]),
stress.levels = unique(data.2.1$Treatment),
plot.violin = FALSE,
plot.box = FALSE,
plot.dot = TRUE,
single = TRUE,
y.lab = o.l.,
p.cex.labels = 1,
p.cex = 0.5,
p.palette = my.ggplot.palette)stat.test = rbind(stat.test.1.1,
stat.test.2.1)
data.table::setDT(stat.test)
stat.test.leaves.hormonomics = stat.test
ind = (grep('groups', colnames(stat.test.leaves.hormonomics)))
stat.test.leaves.hormonomics = stat.test.leaves.hormonomics[, -..ind]
fpo = file.path('..', 'reports')
fn = paste0(tissue, '-', o.l., '_t.tests.txt')
write.table(stat.test.leaves.hormonomics,
file = file.path(fpo, fn),
append = FALSE,
quote = FALSE,
sep = "\t",
eol = "\n",
na = "NA",
dec = ".",
row.names = TRUE,
col.names = TRUE,
qmethod = 'escape',
fileEncoding = "UTF-8")rcorr Computes a matrix of Pearson’s r or Spearman’s rho rank correlation coefficients for all possible pairs of columns of a matrix. Missing values are deleted in pairs rather than deleting all rows of x having any missing variables. Ranks are computed using efficient algorithms (see reference 2), using midranks for ties.
my.heatmaply.cor(df = data[, keep2],
type = 'pearson',
dist_method = 'minkowski',
hclust_method = 'ward.D2',
main = paste(o.l., 'Treatment [start, stop]\nrcorr, p-val, minkowski, Ward.2'),
colors = rev(my.heatmap.col1))## Matrix of Correlations and P-values with Cluster heatmap based on plotly
my.heatmaply.cor(df = data[, keep2],
type = 'pearson',
dist_method = 'minkowski',
hclust_method = 'ward.D2',
main = paste(o.l., 'Treatment [start, stop]\nrcorr, p-val, minkowski, Ward.2'),
colors = rev(my.heatmap.col2))## Matrix of Correlations and P-values with Cluster heatmap based on plotly
leaf.horm.log2FC = my.logFC(Ctrl = Ctrl,
Stress = Stress,
tp = 2,
title = o.l.)mm = list(
l = 0,
r = 0,
b = 0,
t = 40
)
m = max(abs(min(leaf.horm.log2FC, na.rm = TRUE)), abs(max(leaf.horm.log2FC, na.rm = TRUE)))
p = plot_ly(z = leaf.horm.log2FC,
type = "heatmap",
y = rownames(leaf.horm.log2FC),
x = colnames(leaf.horm.log2FC),
colors = rev(brewer.pal(n, 'RdBu')),
zmax = m,
zmid = 0,
zmin = -m,
width = 600,
height = 300
) %>%
layout(title = paste(tissue, o.l.),
margin = mm)
print(p)
fpo = file.path('..', 'reports')
fn = paste0(tissue, '-', o.l., '_log2FC.html')
saveWidget(p,
file = file.path(fpo, fn),
selfcontained = TRUE)
fn = paste0(tissue, '-', o.l., '_log2FC.txt')
write.table(leaf.horm.log2FC,
file = file.path(fpo, fn),
append = FALSE,
quote = FALSE,
sep = "\t",
eol = "\n",
na = "NA",
dec = ".",
row.names = TRUE,
col.names = TRUE,
qmethod = 'escape',
fileEncoding = "UTF-8")rm(list=setdiff(ls(), c('pheno',
'horm'
)))
gc()
source('01_f-ctions.R')gc()tissue = 'Leaves'
o.l. = 'Metabolomics'fpi = file.path('..', 'input')
fn = 'data_metabolomics.txt'
met = data.table::fread(file.path(fpi, fn), header = TRUE)
data.table::setDF(met)
met = merge(pheno,
met,
by = 'SampleName',
all.x = FALSE,
all.y = TRUE)
met = met[, -grep('SampleName', colnames(met))]
met$SamplingDay = as.numeric(met$SamplingDay)
met$Treatment = factor(met$Treatment)
met = met[order(met$Treatment, met$SamplingDay, met$PlantNo), ]Repeat procedure as for Hormonomics
rm(list=setdiff(ls(), c('pheno',
'horm',
'met'
)))
gc()
source('01_f-ctions.R')gc()tissue = 'Leaves'
o.l. = 'Transcriptomics'fpi = file.path('..', 'input')
fn = 'data_qPCR.txt'
qPCR = data.table::fread(file.path(fpi, fn), header = TRUE)
data.table::setDF(qPCR)
qPCR = merge(pheno,
qPCR,
by = 'SampleName',
all.x = FALSE,
all.y = TRUE)
qPCR = qPCR[, -grep('SampleName', colnames(qPCR))]
qPCR$SamplingDay = as.numeric(qPCR$SamplingDay)
qPCR$Treatment = factor(qPCR$Treatment)
qPCR = qPCR[order(qPCR$Treatment, qPCR$SamplingDay, qPCR$PlantNo), ]Repeat procedure as for Hormonomics and Metabolomics
rm(list=setdiff(ls(), c('pheno',
'horm',
'met',
'qPCR'
)))
gc()
source('01_f-ctions.R')gc()
save.image(file = "01.RData")colM = colnames(met)
colT = colnames(qPCR)
colH = colnames(horm)
omics = merge(qPCR, met,
by = c("Treatment", "SamplingDay", "PlantNo"),
all.x = FALSE, all.y = FALSE)
omics = merge(omics, horm,
by = c("Treatment", "SamplingDay", "PlantNo"),
all.x = FALSE, all.y = FALSE)
omics$SamplingDay = as.numeric(omics$SamplingDay)
keep2 = grep("Treatment|SamplingDay|PlantNo", colnames(omics), invert = TRUE)
MT = intersect(keep2,
which(colnames(omics) %in% c(colM, colT)))
MH = intersect(keep2,
which(colnames(omics) %in% c(colM, colH)))
TH = intersect(keep2,
which(colnames(omics) %in% c(colT, colH)))“cor” Plots a correlation network. Runs cov2cor if input is detected to be a covariance matrix and plots the input as is
“pcor” Plots a partial correlation network, using cor2pcor from the parcor package (Kraemer, Schaefer and Boulesteix, 2009) on the input matrix
“glasso” Will run EBICglasso to obtain an optimal sparse estimate of the partial correlation matrix using the glasso package (Friedman, Hastie and Tibshirani, 2011)
cormat = cor(as.matrix(omics[, keep2]), use = 'na.or.complete')
qgraph::qgraph(cormat,
shape='circle',
posCol='darkred',
negCol='darkblue',
layout='spring',
vsize = 4,
cut = 0.95,
details = TRUE,
curveAll = TRUE,
title = 'Omics',
minimum = 0.70,
labels = colnames(omics[, keep2]),
label.cex = 1.5)For more options see https://www.rdocumentation.org/packages/qgraph/versions/1.9.3/topics/qgraph
devtools::session_info()## - Session info ---------------------------------------------------------------
## setting value
## version R version 4.1.2 (2021-11-01)
## os Windows 10 x64 (build 19044)
## system x86_64, mingw32
## ui RTerm
## language (EN)
## collate English_United Kingdom.1252
## ctype English_United Kingdom.1252
## tz Europe/Prague
## date 2023-01-10
## pandoc 2.19.2 @ C:/Program Files/RStudio/bin/quarto/bin/tools/ (via rmarkdown)
##
## - Packages -------------------------------------------------------------------
## package * version date (UTC) lib source
## abind 1.4-5 2016-07-21 [1] CRAN (R 4.1.1)
## assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.1.3)
## backports 1.4.1 2021-12-13 [1] CRAN (R 4.1.2)
## base64enc 0.1-3 2015-07-28 [1] CRAN (R 4.1.1)
## bigassertr 0.1.5 2021-07-08 [1] CRAN (R 4.1.3)
## bigparallelr 0.3.2 2021-10-02 [1] CRAN (R 4.1.3)
## bigstatsr 1.5.12 2022-10-14 [1] CRAN (R 4.1.3)
## bnlearn 4.8.1 2022-09-21 [1] CRAN (R 4.1.3)
## boot 1.3-28.1 2022-11-22 [1] CRAN (R 4.1.2)
## broom 1.0.1 2022-08-29 [1] CRAN (R 4.1.3)
## bslib 0.4.2 2022-12-16 [1] CRAN (R 4.1.3)
## ca 0.71.1 2020-01-24 [1] CRAN (R 4.1.3)
## cachem 1.0.6 2021-08-19 [1] CRAN (R 4.1.2)
## callr 3.7.3 2022-11-02 [1] CRAN (R 4.1.3)
## car 3.1-1 2022-10-19 [1] CRAN (R 4.1.3)
## carData 3.0-5 2022-01-06 [1] CRAN (R 4.1.3)
## caret * 6.0-93 2022-08-09 [1] CRAN (R 4.1.3)
## checkmate 2.1.0 2022-04-21 [1] CRAN (R 4.1.3)
## class 7.3-20 2022-01-13 [1] CRAN (R 4.1.2)
## classInt 0.4-8 2022-09-29 [1] CRAN (R 4.1.3)
## cli 3.4.1 2022-09-23 [1] CRAN (R 4.1.2)
## cluster 2.1.4 2022-08-22 [1] CRAN (R 4.1.3)
## codalm 0.1.2 2021-07-26 [1] CRAN (R 4.1.3)
## codetools 0.2-18 2020-11-04 [1] CRAN (R 4.1.2)
## colorspace 2.0-3 2022-02-21 [1] CRAN (R 4.1.2)
## Compositional * 6.0 2022-11-12 [1] CRAN (R 4.1.3)
## corpcor 1.6.10 2021-09-16 [1] CRAN (R 4.1.1)
## corrplot * 0.92 2021-11-18 [1] CRAN (R 4.1.3)
## cowplot 1.1.1 2020-12-30 [1] CRAN (R 4.1.3)
## crayon * 1.5.2 2022-09-29 [1] CRAN (R 4.1.3)
## crosstalk 1.2.0 2021-11-04 [1] CRAN (R 4.1.3)
## data.table 1.14.6 2022-11-16 [1] CRAN (R 4.1.2)
## DBI 1.1.3 2022-06-18 [1] CRAN (R 4.1.3)
## dcov 0.1.1 2020-06-25 [1] CRAN (R 4.1.3)
## deldir 1.0-6 2021-10-23 [1] CRAN (R 4.1.1)
## dendextend 1.16.0 2022-07-04 [1] CRAN (R 4.1.3)
## DEoptimR 1.0-11 2022-04-03 [1] CRAN (R 4.1.3)
## devtools 2.4.5.9000 2022-11-23 [1] Github (r-lib/devtools@aa3f88b)
## digest 0.6.31 2022-12-11 [1] CRAN (R 4.1.3)
## Directional 5.6 2022-09-22 [1] CRAN (R 4.1.3)
## doParallel 1.0.17 2022-02-07 [1] CRAN (R 4.1.2)
## dplyr 1.0.10 2022-09-01 [1] CRAN (R 4.1.3)
## e1071 1.7-12 2022-10-24 [1] CRAN (R 4.1.3)
## ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.1.2)
## emplik 1.2 2022-07-03 [1] CRAN (R 4.1.3)
## energy 1.7-10 2022-04-19 [1] CRAN (R 4.1.3)
## equalCovs * 1.0 2018-04-25 [1] CRAN (R 4.1.1)
## evaluate 0.19 2022-12-13 [1] CRAN (R 4.1.3)
## fansi 1.0.3 2022-03-24 [1] CRAN (R 4.1.3)
## farver 2.1.1 2022-07-06 [1] CRAN (R 4.1.3)
## fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.1.2)
## fdrtool 1.2.17 2021-11-13 [1] CRAN (R 4.1.2)
## FlexDir 1.0 2017-03-16 [1] CRAN (R 4.1.3)
## flock 0.7 2016-11-12 [1] CRAN (R 4.1.3)
## foreach 1.5.2 2022-02-02 [1] CRAN (R 4.1.2)
## foreign 0.8-83 2022-09-28 [1] CRAN (R 4.1.3)
## Formula * 1.2-4 2020-10-16 [1] CRAN (R 4.1.1)
## fs 1.5.2 2021-12-08 [1] CRAN (R 4.1.2)
## future 1.29.0 2022-11-06 [1] CRAN (R 4.1.3)
## future.apply 1.10.0 2022-11-05 [1] CRAN (R 4.1.3)
## generics 0.1.3 2022-07-05 [1] CRAN (R 4.1.2)
## ggplot2 * 3.4.0 2022-11-04 [1] CRAN (R 4.1.3)
## ggpubr * 0.5.0 2022-11-16 [1] CRAN (R 4.1.3)
## ggsignif 0.6.4 2022-10-13 [1] CRAN (R 4.1.3)
## glasso 1.11 2019-10-01 [1] CRAN (R 4.1.1)
## glmnet 4.1-4 2022-04-15 [1] CRAN (R 4.1.3)
## globals 0.16.2 2022-11-21 [1] CRAN (R 4.1.2)
## glue 1.6.2 2022-02-24 [1] CRAN (R 4.1.3)
## gmp 0.6-8 2022-11-09 [1] CRAN (R 4.1.3)
## gower 1.0.0 2022-02-03 [1] CRAN (R 4.1.2)
## gridExtra 2.3 2017-09-09 [1] CRAN (R 4.1.2)
## gsl 2.1-7.1 2021-11-02 [1] CRAN (R 4.1.2)
## gtable 0.3.1 2022-09-01 [1] CRAN (R 4.1.3)
## gtools 3.9.3 2022-07-11 [1] CRAN (R 4.1.3)
## hardhat 1.2.0 2022-06-30 [1] CRAN (R 4.1.3)
## heatmaply * 1.4.0 2022-10-08 [1] CRAN (R 4.1.3)
## highr 0.10 2022-12-22 [1] CRAN (R 4.1.3)
## Hmisc * 4.7-2 2022-11-18 [1] CRAN (R 4.1.3)
## htmlTable 2.4.1 2022-07-07 [1] CRAN (R 4.1.2)
## htmltools 0.5.4.9000 2023-01-10 [1] Github (rstudio/htmltools@f07ceba)
## htmlwidgets * 1.5.4 2021-09-08 [1] CRAN (R 4.1.2)
## httpuv 1.6.6 2022-09-08 [1] CRAN (R 4.1.3)
## httr 1.4.4 2022-08-17 [1] CRAN (R 4.1.3)
## igraph 1.3.5 2022-09-22 [1] CRAN (R 4.1.3)
## interp 1.1-3 2022-07-13 [1] CRAN (R 4.1.3)
## ipred 0.9-13 2022-06-02 [1] CRAN (R 4.1.3)
## iterators 1.0.14 2022-02-05 [1] CRAN (R 4.1.2)
## jpeg 0.1-9 2021-07-24 [1] CRAN (R 4.1.1)
## jquerylib 0.1.4 2021-04-26 [1] CRAN (R 4.1.2)
## jsonlite 1.8.3 2022-10-21 [1] CRAN (R 4.1.2)
## KernSmooth 2.23-20 2021-05-03 [1] CRAN (R 4.1.2)
## knitr 1.41 2022-11-18 [1] CRAN (R 4.1.3)
## labeling 0.4.2 2020-10-20 [1] CRAN (R 4.1.1)
## later 1.3.0 2021-08-18 [1] CRAN (R 4.1.3)
## lattice * 0.20-45 2021-09-22 [1] CRAN (R 4.1.2)
## latticeExtra 0.6-30 2022-07-04 [1] CRAN (R 4.1.2)
## lava 1.7.0 2022-10-25 [1] CRAN (R 4.1.3)
## lavaan 0.6-12 2022-07-04 [1] CRAN (R 4.1.3)
## lazyeval 0.2.2 2019-03-15 [1] CRAN (R 4.1.3)
## lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.1.3)
## listenv 0.8.0 2019-12-05 [1] CRAN (R 4.1.3)
## lubridate 1.9.0 2022-11-06 [1] CRAN (R 4.1.3)
## magrittr * 2.0.3 2022-03-30 [1] CRAN (R 4.1.3)
## MASS 7.3-58.1 2022-08-03 [1] CRAN (R 4.1.2)
## Matrix 1.5-3 2022-11-11 [1] CRAN (R 4.1.3)
## MatrixModels 0.5-1 2022-09-11 [1] CRAN (R 4.1.3)
## mda 0.5-3 2022-05-05 [1] CRAN (R 4.1.3)
## memoise 2.0.1 2021-11-26 [1] CRAN (R 4.1.2)
## mgcv 1.8-41 2022-10-21 [1] CRAN (R 4.1.3)
## mime 0.12 2021-09-28 [1] CRAN (R 4.1.1)
## miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 4.1.3)
## mixture 2.0.5 2022-09-23 [1] CRAN (R 4.1.3)
## mnormt 2.1.1 2022-09-26 [1] CRAN (R 4.1.2)
## ModelMetrics 1.2.2.2 2020-03-17 [1] CRAN (R 4.1.3)
## munsell 0.5.0 2018-06-12 [1] CRAN (R 4.1.2)
## NlcOptim 0.6 2019-01-18 [1] CRAN (R 4.1.3)
## nlme 3.1-160 2022-10-10 [1] CRAN (R 4.1.3)
## nnet 7.3-18 2022-09-28 [1] CRAN (R 4.1.3)
## numDeriv 2016.8-1.1 2019-06-06 [1] CRAN (R 4.1.1)
## parallelly 1.32.1 2022-07-21 [1] CRAN (R 4.1.3)
## pbapply 1.6-0 2022-11-16 [1] CRAN (R 4.1.3)
## pbivnorm 0.6.0 2015-01-23 [1] CRAN (R 4.1.1)
## pchc 0.8 2022-06-18 [1] CRAN (R 4.1.3)
## pdist * 1.2.1 2022-05-02 [1] CRAN (R 4.1.3)
## permute 0.9-7 2022-01-27 [1] CRAN (R 4.1.3)
## pheatmap 1.0.12 2019-01-04 [1] CRAN (R 4.1.2)
## pillar 1.8.1 2022-08-19 [1] CRAN (R 4.1.3)
## pkgbuild 1.3.1 2021-12-20 [1] CRAN (R 4.1.2)
## pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.1.2)
## pkgload 1.3.2 2022-11-16 [1] CRAN (R 4.1.3)
## plotly * 4.10.1 2022-11-07 [1] CRAN (R 4.1.3)
## plyr 1.8.8 2022-11-11 [1] CRAN (R 4.1.3)
## png 0.1-7 2013-12-03 [1] CRAN (R 4.1.1)
## prettyunits 1.1.1 2020-01-24 [1] CRAN (R 4.1.2)
## pROC 1.18.0 2021-09-03 [1] CRAN (R 4.1.3)
## processx 3.8.0 2022-10-26 [1] CRAN (R 4.1.3)
## prodlim 2019.11.13 2019-11-17 [1] CRAN (R 4.1.3)
## profvis 0.3.7 2020-11-02 [1] CRAN (R 4.1.3)
## promises 1.2.0.1 2021-02-11 [1] CRAN (R 4.1.3)
## proxy 0.4-27 2022-06-09 [1] CRAN (R 4.1.3)
## ps 1.7.2 2022-10-26 [1] CRAN (R 4.1.3)
## psych * 2.2.9 2022-09-29 [1] CRAN (R 4.1.3)
## purrr 0.3.5 2022-10-06 [1] CRAN (R 4.1.3)
## qgraph 1.9.2 2022-03-04 [1] CRAN (R 4.1.3)
## quadprog 1.5-8 2019-11-20 [1] CRAN (R 4.1.1)
## quantreg 5.94 2022-07-20 [1] CRAN (R 4.1.3)
## R6 2.5.1 2021-08-19 [1] CRAN (R 4.1.2)
## RANN 2.6.1 2019-01-08 [1] CRAN (R 4.1.3)
## RColorBrewer * 1.1-3 2022-04-03 [1] CRAN (R 4.1.3)
## Rcpp 1.0.9 2022-07-08 [1] CRAN (R 4.1.2)
## RcppAlgos 2.6.0 2022-08-15 [1] CRAN (R 4.1.3)
## RcppZiggurat 0.1.6 2020-10-20 [1] CRAN (R 4.1.3)
## recipes 1.0.3 2022-11-09 [1] CRAN (R 4.1.3)
## registry 0.5-1 2019-03-05 [1] CRAN (R 4.1.1)
## remotes 2.4.2 2021-11-30 [1] CRAN (R 4.1.2)
## reshape2 1.4.4 2020-04-09 [1] CRAN (R 4.1.3)
## Rfast 2.0.6 2022-02-16 [1] CRAN (R 4.1.3)
## Rfast2 0.1.3 2022-03-23 [1] CRAN (R 4.1.3)
## rgl 0.110.2 2022-09-26 [1] CRAN (R 4.1.3)
## rlang 1.0.6 2022-09-24 [1] CRAN (R 4.1.3)
## rmarkdown 2.19.2 2023-01-10 [1] Github (rstudio/rmarkdown@8fabad0)
## rnaturalearth 0.1.0 2017-03-21 [1] CRAN (R 4.1.3)
## robustbase 0.95-0 2022-04-02 [1] CRAN (R 4.1.3)
## rpart 4.1.19 2022-10-21 [1] CRAN (R 4.1.3)
## rstatix * 0.7.1 2022-11-09 [1] CRAN (R 4.1.3)
## rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.1.3)
## sass 0.4.4 2022-11-24 [1] CRAN (R 4.1.3)
## scales * 1.2.1 2022-08-20 [1] CRAN (R 4.1.3)
## seriation 1.4.0 2022-10-21 [1] CRAN (R 4.1.2)
## sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.2)
## sf 1.0-9 2022-11-08 [1] CRAN (R 4.1.3)
## shape 1.4.6 2021-05-19 [1] CRAN (R 4.1.1)
## shiny 1.7.3 2022-10-25 [1] CRAN (R 4.1.3)
## sn 2.1.0 2022-08-11 [1] CRAN (R 4.1.3)
## sp 1.5-1 2022-11-07 [1] CRAN (R 4.1.3)
## SparseM 1.81 2021-02-18 [1] CRAN (R 4.1.1)
## SQUAREM 2021.1 2021-01-13 [1] CRAN (R 4.1.3)
## stringi 1.7.8 2022-07-11 [1] CRAN (R 4.1.2)
## stringr 1.5.0 2022-12-02 [1] CRAN (R 4.1.3)
## survival * 3.4-0 2022-08-09 [1] CRAN (R 4.1.3)
## tibble 3.1.8 2022-07-22 [1] CRAN (R 4.1.3)
## tidyr 1.2.1 2022-09-08 [1] CRAN (R 4.1.3)
## tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.1.3)
## timechange 0.1.1 2022-11-04 [1] CRAN (R 4.1.3)
## timeDate 4021.106 2022-09-30 [1] CRAN (R 4.1.3)
## TSP 1.2-1 2022-07-14 [1] CRAN (R 4.1.3)
## units 0.8-0 2022-02-05 [1] CRAN (R 4.1.3)
## urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.1.3)
## usethis 2.1.6 2022-05-25 [1] CRAN (R 4.1.3)
## utf8 1.2.2 2021-07-24 [1] CRAN (R 4.1.2)
## vctrs 0.5.1 2022-11-16 [1] RSPM (R 4.1.0)
## vegan 2.6-4 2022-10-11 [1] CRAN (R 4.1.3)
## viridis * 0.6.2 2021-10-13 [1] CRAN (R 4.1.2)
## viridisLite * 0.4.1 2022-08-22 [1] CRAN (R 4.1.3)
## webshot 0.5.4 2022-09-26 [1] CRAN (R 4.1.3)
## withr 2.5.0 2022-03-03 [1] CRAN (R 4.1.2)
## xfun 0.35 2022-11-16 [1] CRAN (R 4.1.3)
## xtable 1.8-4 2019-04-21 [1] CRAN (R 4.1.2)
## yaml 2.3.6 2022-10-18 [1] CRAN (R 4.1.3)
##
## [1] C:/mzInstall/R/R-4.1.2/library
##
## ------------------------------------------------------------------------------